Schriftliches Kundenfeedback automatisiert auswerten: Das DATEV-Sprachmodell

DATEV eG
DATEV TechBlog
Published in
4 min readMay 5, 2020

--

Von: Dr. Jonas Rende und Thomas Stadelmann

Nicht nur in der Forschung gewinnt die algorithmische Verarbeitung von Sprache (Natural-Language-Processing; kurz: NLP) an Bedeutung, sondern auch immer stärker in der Industrie. Seit der Veröffentlichung von GOOGLE’s Word2Vec Algorithmus (Tomas Mikolov, 2013), welcher es erlaubt Vektor Repräsentationen für Wörter (sog. Embeddings) zu lernen, sprießen neue Modelle und Frameworks nur so aus dem Boden. Der anschließend stattfindende Einzug von immer mächtiger werdenden Deep Learning Verfahren in den NLP-Bereich wirkt hierbei wie ein Katalysator und gipfelt in dem ebenfalls von GOOGLE eingeführten BERT Modell (Bidirectional Encoder Representations from Transformers, Jacob Devlin, 2018). Im Vergleich zu Word2Vec ist BERT in der Lage kontextabhängige Vektor Repräsentationen zu lernen und schneidet dadurch in den meisten NLP-Disziplinen deutlich besser ab.

Seit 10.2019 arbeiten Thomas Stadelmann und Dr. Jonas Rende mit Unterstützung des DATEV AI-Lab‘s an einem domänenspezifischen Sprachmodell, dem sog. DATEV Language Model (DATEV LM).

Aber der Reihe nach.

Was ist ein Sprachmodell?

Ein LM ist die Grundlage für zahlreiche NLP (Natural Language Processing) Anwendungen, d.h. immer dann, wenn natürliche Sprache vom Computer verarbeitet werden soll. Das reicht von alltäglichen Anwendungen wie bspw. Suchmaschinen, Chat Bots, Empfehlungssystemen oder Übersetzungs-Apps bis hin zu Fake News Detection. Sprachmodelle werden auf der Grundlage von umfangreichen Texten, dem Korpus, trainiert und beinhalten Informationen über Semantik, Syntax und die Wahrscheinlichkeiten von Wortfolgen. Beispiele für prominente Sprachmodelle sind die bereits erwähnten Word2Vec und BERT. Man kann damit jedes Wort in einen reellwertigen Zahlenvektor (Embedding) umwandeln und damit „rechnen“. Im diesem Kontext ist ein gängiges Beispiel, dass der Zahlenvektor “König” minus den Zahlenvektor von “Mann” plus den Zahlenvektor für “Frau” bspw. “Königin” ergibt. Auch Synonyme und Antonyme lassen sich damit finden. Umfangreiche Sprachmodelle, wie BERT, bieten zudem die Möglichkeit, den Kontext einzelner Wörter in deren Zahlenrepräsentation mit einzubeziehen. So können unterschiedliche Bedeutungen von gleichlautende Begriffen (sog. Homonyme) abgeleitet werden. Ein Beispiel hierfür ist z.B. der Begriff „Bank“, der sowohl ein Finanzinstitut als auch eine Sitzgelegenheit repräsentieren kann.

Welche Szenarien sind denkbar?

Es gibt eine Vielzahl möglicher Szenarien, in denen das DATEV LM eingesetzt werden könnte, z.B.:

• Klassifizierung von Nutzer Feedback

• Sentimentanalysen

• Konzepterkennung (Named-Entity-Recognition)

• Verbesserung von Suchanfragen

• Zusammenfassung von langen/mehreren Dokumenten

• Automatische Generierung von Antworten auf Anfragen

• Interaktive FAQs, Chatbots, Assistenzsysteme

• Automatische Generierung von Thesauri, Verschlagwortungen

Warum können wir für diese Einsatzszenarien kein vortrainiertes, frei verfügbares deutsches Sprachmodell (z.B. BERT) verwenden ? Ein frei verfügbares Sprachmodell wurde trainiert mit öffentlich zugänglichen Textquellen wie bspw. den gesamten Wikipedia-Artikeln. So ein Modell bietet zwar eine gute Basis zur Analyse von Texten, die sich im normalen deutschen Sprachraum bewegen, wie bspw. Zeitungsartikeln. Es zeigt jedoch merkliche Schwächen, wenn die zu analysierenden Texte sehr spezialisierte Themen behandeln, wie z.B. der Steuerthematik. Finden sich im freien Sprachmodell vielleicht noch Begriffe wie „Einkommensteuer“ oder „Mehrwertsteuer“, können sie jedoch mit Begriffen wie „Vorlageersuchen“ oder „Empfängerbenennung“ nichts anfangen. Genau hier setzt das DATEV Sprachmodell an: Der Korpus wird mit domänenspezifischen Dokumenten aus dem DATEV-Umfeld angereicht. Damit kann das daraus gewonnene Sprachmodell viel spezifischer und genauer DATEV-relevante Sachverhalte analysieren. Darüber hinaus ist es für uns wichtig tiefgehendes Know-How für diese immer wichtiger werdende Technologie im Haus aufzubauen.

Worauf und in welchen Varianten trainieren wir?

Wir trainieren auf einer State-of-the-Art GPU von NVIDIA, der Tesla V100. Beim Training unterscheiden wir zwei Varianten: (1) From Scratch. Dabei wird komplett von Grund auf neu trainiert (Laufzeit ca. 4 Wochen). Der Vorteil dieser Variante ist, dass das ganze Vokabular neu gelernt wird und damit der Anteil von domänenspezifischen Begriffen am gesamt Vokabular deutlich höher ist als bei der zweiten Variante, Language-Modell Adaption. (2) LM-Adaption. Dabei wird auf ein bestehendes Modell aufgesetzt und nur ein deutlich geringer Teil (ca. 3000 Tokens) des Gesamtvokabulars enthält domänenspezifischen Begriffe. Dafür ist der Trainingsaufwand deutlich geringer als bei Variante 1.

Welche Software bzw. Architektur steht hinter dem Modell?

Wir operieren hier im Deep Learning Kontext. Der Vorteil von Deep Learning im Vergleich zu eher klassischen Verfahren des maschinellen Lernens ist, dass deutlich weniger Aufbereitungslogik (Pre-Processing) geschrieben werden muss, und die extrahierten Zusammenhänge nahezu beliebig komplex sein können. Zum Trainieren der zugrundeliegenden Modelle nutzen wir ausschließlich Software (Python: pytorch, tensorflow) und Architekturen (Transformer-basierte Architekturen, wie z.B. BERT), die dem aktuellen Goldstandard in der Industrie entsprechen. Um flexibel auf die aktuell halbjährlichen Innovationen im NLP Bereich (Tendenz steigend) reagieren zu können, implementieren wir eine modulare Pipeline.

Waren wir erfolgreich?

Der Proof of Concept hat gezeigt, dass wir bei Klassifizierungsproblemen mit dem DATEV Sprachmodell, im Vergleich zu Modellen von der Stange ein signifikant besseres Ergebnis in der Evaluationsmetrik F1-Macro erreichen konnten.

Welche Strategien haben uns geholfen, trotz geringer Anzahl an Labels gute Ergebnisse zu erzielen? Zunächst ist die Etablierung von Transfer Learning im NLP Bereich zu nennen. Die Idee ist so simpel wie genial: Wissen aus Modellen, die vorab auf einem signifikant größerem Textkorpus trainiert wurden, kann in konkreten NLP-Aufgaben so wiederverwendet werden, dass sich die Anzahl der hierfür benötigten Trainingsdaten stark reduzieren lässt. Eine weitere wesentliche Verbesserung der Modelle konnten wir durch sogenannte Data Augmentation Verfahren erzielen. Bei Data Augmentation versucht man bestehende annotierte Datensätze so zu verändern, dass deren Sinn und die entsprechende Annotation erhalten bleiben, man gleichzeitig aber möglichst unterschiedliche Datensätze erhält. So lassen sich z.B. aus wenigen Hundert Datensätzen mehrere Tausend machen.

Lust auf mehr? Wenn ihr gerne mehr zu dem Sprachmodell erfahren wollt oder zum Thema Data Science bei DATEV, dann wendet euch gerne an Thomas Stadelmann (thomas.stadelmann@datev.de) und Dr. Jonas Rende (jonas.rende@datev.de).

Ihr seid ebenso verrückt nach IT, Software und Tech-Themen und habt Lust, Teil unseres Entwickler-Teams zu werden, hier geht´s zu unseren offenen Stellen: https://www.datev.de/web/de/karriere/geschaeftsbereiche/it/.

Photo by Mahmudul Hasan Shaon on Unsplash

--

--

DATEV eG
DATEV TechBlog

DATEV eG steht für qualitativ hochwertige Softwarelösungen und IT-Dienstleistungen für Steuerberater, Wirtschaftsprüfer, Rechtsanwälte und Unternehmen.